package top.szhome.framework.core.tools.exception;

import lombok.Data;

/**
 * 业务异常
 *
 * @author 唐加利
 * @date 2023/1/19
 **/
@Data
public class SzhomeException extends RuntimeException{

    /**
     * 异常编码
     */
    private String code;

    /**
     * 无参构造异常
     */
    public SzhomeException(){

    }

    /**
     * 指定异常code
     * @param code
     */
    public SzhomeException(String code){
        this(code, (String) null);
    }

    /**
     * 指定异常code和异常消息
     * @param code
     * @param message
     */
    public SzhomeException(String code, String message){
        super(message);
        this.code = code;
    }

    /**
     * 指定异常code和原异常
     * @param code
     * @param e
     */
    public SzhomeException(String code, Throwable e) {
        super(e);
        this.code = code;
    }

    /**
     * 指定异常code、异常消息以及原异常
     * @param code
     * @param message
     * @param e
     */
    public SzhomeException(String code, String message, Throwable e){
        super(message, e);
        this.code = code;
    }

}
